package com.chucang.shucang.usr.feign;

import com.alipay.api.response.AlipayTradeAppPayResponse;
import com.chucang.shucang.common.base.utils.R;
import com.chucang.shucang.usr.feign.vo.*;
import com.chucang.shucang.usr.vo.RealNameAuthVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;


/**
 * @author flitsneak
 * @email flitsneak@gmail.com
 * @date 2022/10/6 23:48
 * @description
 */
@FeignClient(contextId = "usr-ttp", value = "shucang-ttp")
public interface TtpService {
    @PostMapping("/ttp/realnameauth/doAuth")
    R<RealNameAuthResVO> doAuth(@RequestBody RealNameAuthVO realNameAuthVO);

    @GetMapping("/ttp/nft/createAccount/{name}/{operatorId}")
    R<CreateAccountDTO> createAccount(@PathVariable("name") String name, @PathVariable("operatorId") String operatorId);

    @PostMapping("/ttp/alipay/payForOrder")
    R<AlipayTradeAppPayResponse> payForOrder(@RequestBody PayInfoVO payInfoVO);

    @PostMapping("/ttp/nft/transferNFT")
    R<NFTOperateDTO> transferNFT(@RequestBody NFTTransferReq nftTransferReq);
}
